﻿using Castle.Facilities.NHibernateIntegration;
using Castle.Core.Logging;

namespace Inovout.Repositories
{
    public abstract class BaseRepository
    {
        internal ITypeSessionManager sessionManager;

        protected ITypeSessionManager SessionManager
        {
             get { return sessionManager; }
        }

        protected internal IExtendedLogger Logger
        {
            get;
            internal set;
        }

        protected BaseRepository()
        {
        }
        protected BaseRepository(ITypeSessionManager sessionManager)
        {
            ArgumentAssert.IsNotNull(sessionManager, "sessionManager");
            this.sessionManager = sessionManager;
        }
    }
}
